<?php
	//Login dokument
	require_once "View\LoginView.php";
	require_once "Control\LoginController.php";
	require_once "Model\LoginHandler.php";
	
	//File upload dokument
	require_once "View\FileUploadView.php";
	require_once "Control\FileUploadController.php";
	require_once "Model\FileUploadHandler.php";
	
	class TestAll {
		
		//Testar alla Loginfunktionerna
		public function LoginTest(){
			$lc = new LoginController();
			$lh = new LoginHandler();
			$lv = new LoginView();
			
			//Testet börjar med att försätta programmet i ett utloggat tillstånd
			$lh->DoLogout();
			
			//Testfall som testar funktionen IsLoggedIn
			if ($lh->IsLoggedIn()) {
				echo "Test failed! You are still logged in!";
				return FALSE;
			}
			
			//Testfall som testar funktionen DoLogin med fel info
			if ($lh->DoLogin("WrongName", "WrongPassword")) {
				echo "Test failed! You maneged to login with wrong information!";
				return FALSE;
			}
			
			//Testfall som testar funktionen DoLogin med rätt info
			if ($lh->DoLogin("Name", "Password") === FALSE) {
				echo "Test failed! You couldn't login with right information!";
				return FALSE;
			}
			
			//Testfall som testar funktionen IsLoggedIn
			if ($lh->IsLoggedIn() === FALSE) {
				echo "Test failed! You are not logged in!";
				return FALSE;
			}
			
			$lh->DoLogout();
			
			//kolla om du är utloggad
			//Testfall som testar funktionen IsLoggedIn
			if ($lh->IsLoggedIn()) {
				echo "Test failed! You are still logged in!";
				return FALSE;
			}
			
			//Testfall som testar funktionen DoLogin med rätt namn och fel lösen
			if ($lh->DoLogin("Name", "WrongPassword")) {
				echo "Test failed! You maneged to login with wrong information!";
				return FALSE;
			}
			return TRUE;
		}
		
		//Testar alla Uploadfunktionerna
		public function FileUploadTest(){
			$fc = new FileUploadController();
			$fh = new FileUploadHandler();
			$fv = new FileUploadView();
			
			//Kollar så att funktionen GetFiles returnerar en array
			if(!is_array($fh->GetFiles())){
				echo "Test failed! No file-array was returned!";
			} else {
				return TRUE;
			}
		}
	}
?>